ASP NET - Módulo de Acesso ao Microsoft SQL Server
Linguagem : C# ASP NET
Imports System.Data.SqlClient
Imports System.Web.Configuration
'notas sobre os strings de conexão com o banco de dados
'eles podem ser definidos em diversos locais por motivos de segurança
'
'Se for inserir no web config seve ser colocado logo após </appSettings>
'name é o nome da conexao
'connectionString é o string de conexão
'<connectionStrings>
'<add name = "ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/>
'<add name = "SQLPROD" connectionString="Server=Servidor; Database=BaseDados; UID=Usuario;PWD=Senha" providerName="System.Data.SqlClient"/>
'<add name = "SQLTESTES" connectionString="Server=Servidor; Database=BaseDados; UID=Usuario;PWD=Senha" providerName="System.Data.SqlClient"/>
'<add name = "SQLCON3" connectionString="Server=Servidor; Database=BaseDados; UID=Usuario;PWD=Senha" providerName="System.Data.SqlClient"/>
'<add name = "SQLCON4" connectionString="Server=Servidor; Database=BaseDados; UID=Usuario;PWD=Senha" providerName="System.Data.SqlClient"/>
'<add name = "ExcelCon" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|teste.xls;Extended Properties=Excel 12.0"/>
'</connectionStrings>
Public Class clsMSSQLSRV
Inherits System.Web.UI.Page
'para ler o string de conexão da session
'Public cnstr As String = System.Web.HttpContext.Current.Session("CONEXAO").ToString()
Public cnstr As String = "" 'string de conexão com o banco de dados
Public cncn As SqlConnection 'conexão com o banco de dados
Public Erro As String = "" 'troca de mensagens de erro
Definindo o string de conexão com o servidor MS SQL
''' <summary>
''' Definindo o string de conexão com o banco de dados que dependente da url de acesso do site
''' </summary>
Public Function ObtemStrConexao() As String
Dim cnstr As String = ""
'p=produção
Dim srvp As String = ""
Dim bdp As String = ""
Dim usup As String = ""
Dim senhap As String = ""
't=teste
Dim srvt As String = ""
Dim bdt As String = ""
Dim usut As String = ""
Dim senhat As String = ""
If Not IsPostBack Then
'definindo o acesso ao bd pela url do site - salvando na session
Dim strurl As String = Request.Url.AbsoluteUri
strurl = strurl.ToUpper()
If ((strurl.IndexOf("LOCALHOST") <> 0) Or (strurl.IndexOf("TEST") <> 0)) Then
'Servidores Local ou de teste
Session.Add("SERVIDOR", "TESTES")
'lendo do web config
'cnstr = WebConfigurationManager.ConnectionStrings("SQLTESTES").ConnectionString
'definindo o str conexão aqui mesmo
cnstr = "Server=" + srvp + "; Database=" + bdp + "; UID=" + usup + ";PWD=" + senhap + " providerName=System.Data.SqlClient/>"
Session.Add("CONEXAO", cnstr)
Else
'Servidor de produção
Session.Add("SERVIDOR", "PRODUCAO")
'lendo do web config
'cnstr = WebConfigurationManager.ConnectionStrings("SQLPROD").ConnectionString
'definindo o str conexão aqui mesmo
cnstr = "Server=" + srvt + "; Database=" + bdt + "; UID=" + usut + ";PWD=" + senhat + " providerName=System.Data.SqlClient/>"
Session.Add("CONEXAO", cnstr)
End If
End If
Return cnstr
End Function
''' <summary>
''' conecta com o banco de dados
''' </summary>
Conectando com o servidor MS SQL
Public Sub MS_SQL_SRV_CON()
Erro = ""
Try
If (cncn.State = ConnectionState.Closed) Then
ObtemStrConexao()
'cnstr = Session("CONEXAO").ToString()
cncn.ConnectionString() = cnstr
cncn.Open()
Return
End If
Catch ex As SqlException
Erro = ex.Message
End Try
End Sub
Executa um SQL e Retorna um DataSet
''' <summary>
''' Faz a pesquisa e retorna um DataSet
''' </summary>
Public Function MS_SQL_SRV_DS(Query As String) As DataSet
Erro = ""
Try
MS_SQL_SRV_CON()
Dim cmd = New SqlCommand(Query, cncn)
Dim MS_SQL_SqlDtAdapter = New SqlDataAdapter(cmd)
Dim DS As New DataSet()
MS_SQL_SqlDtAdapter.Fill(DS)
Return DS
Catch ex As Exception
Erro = ex.Message
'System.Web.HttpContext.Current.Response.End()
'string str = "../Erro.aspx?msg='" + ex.Message + "'"
'System.Web.HttpContext.Current.Response.Redirect(str,true)
'return null
Return Nothing
End Try
End Function
Executa um SQL que não retorna nada
São os comandos delete, drop table..eles não retornam dados, apenas status.
''' <summary>
'''executa um sql que não retorna nada
''' </summary>
Public Sub MS_SQL_SRV_EX(query As String)
Erro = ""
Try
MS_SQL_SRV_CON()
Dim cmd = New SqlCommand(query, cncn)
cmd.CommandTimeout = 20000
cmd.ExecuteNonQuery()
cncn.Close()
Catch ex As Exception
Erro = ex.Message
'Throw ex
End Try
End Sub
Executa um SQL que retorna um número inteiro
Muito usada quando vamos dar um insert numa tabela só que antes precisamos saber qual o próximo
número sequencial que poderá ser inserido na mesma tabela.
''' <summary>
'''executa um sql que retorna um inteiro
''' </summary>
Public Function MS_SQL_SRV_INT(query As String) As Integer
Erro = ""
Try
MS_SQL_SRV_CON()
Dim cmd = New SqlCommand(query, cncn)
cmd.CommandText = query
Return cmd.ExecuteScalar()
Catch ex As Exception
Return Nothing 'erro
Erro = ex.Message
'Throw ex
End Try
End Function
Executa um SQL que retorna um string
Utilizada quando se executa uma querie e o resultado esperado é apenas um string (o normal é um
conjunto de dados como um dataset, recordset etc.)
''' <summary>
''' executa um sql que retorna um String
''' </summary>
''' <param name="query"></param>
''' <returns></returns>
Public Function MS_SQL_SRV_STR(query As String) As String
Erro = ""
Try
MS_SQL_SRV_CON()
Dim cmd = New SqlCommand(query, cncn)
cmd.CommandText = query
Return cmd.ExecuteScalar()
Catch ex As Exception
Erro = ex.Message
Return Nothing
'Throw ex
End Try
End Function
Executa um SQL que retorna um single
Utilizada quando fazemos uma pesquisa que retorna, por exemplo, a média de preços de um produto.
O single mais utilizado são os valores monetários.
''' <summary>
''' executa um sql que retorna um single(sql)
''' </summary>
''' <param name="query"></param>
''' <returns></returns>
Public Function MS_SQL_SRV_Single(query As String)
Erro = ""
Try
MS_SQL_SRV_CON()
Dim cmd = New SqlCommand(query, cncn)
cmd.CommandText = query
Return cmd.ExecuteScalar()
Catch ex As Exception
Erro = ex.Message
Return Nothing 'erro
'Throw ex
End Try
End Function
Executa um SQL que retorna um DataSet
''' <summary>
'''faz a pesquisa e retorna um DataSet
''' </summary>
Public Function MS_SQL_DS(query As String) As DataSet
Erro = ""
Try
MS_SQL_SRV_CON()
Dim da As New SqlDataAdapter(query, cncn)
Dim ds As New DataSet
da.Fill(ds)
cncn.Close()
Return ds
Catch ex As SqlException
Erro = ex.Message
Return Nothing
'Throw ex
End Try
End Function
Executa um SQL (que pode ser uma procedure) e retorna um DataSet - Admite parâmetros
''' <summary>
''' Executa uma procedure e retorna um dataset
''' Parametros = "P1,P2,P3,P4..."
''' </summary>
Public Function MS_SQL_SQL_Proc(Procedure As String, Parametros As String) As DataSet
Erro = ""
Try
Dim SQL As String = Procedure + " " + Parametros
Dim cmd As New SqlCommand(SQL, cncn)
Dim da As New SqlDataAdapter(cmd)
Dim ds As New DataSet()
da.Fill(ds)
Return ds
Catch ex As Exception
Erro = ex.Message
Return Nothing
'Throw ex
End Try
End Function
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
ObtemStrConexao()
End Sub
End Class